package com.harmontronics.hanma.paas.paas.dto.input;

import com.harmontronics.hanma.paas.paas.domain.app.entity.valueobject.ScriptContentTypeEnum;
import com.harmontronics.hanma.paas.paas.domain.app.entity.valueobject.ScriptTypeEnum;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import java.time.LocalDateTime;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * 脚本
 *
 * @author paas-generator
 * @email paas-generator@harmontronics.com
 * @date 2021-04-19 14:08:22
 */
@Data
public class HmScriptCreateInput {


    /**
     * 脚本编号
     */
    @ApiModelProperty(value = "脚本编号")
    @NotNull(message = "hm.pass.field_non_nullable")
    @NotEmpty(message = "hm.pass.field_non_nullable")
    @NotBlank(message = "hm.pass.field_non_nullable")
    private String code;

    /**
     * 脚本名称
     */
    @ApiModelProperty(value = "脚本名称")
    @NotNull(message = "hm.pass.field_non_nullable")
    @NotEmpty(message = "hm.pass.field_non_nullable")
    @NotBlank(message = "hm.pass.field_non_nullable")
    private String name;

    /**
     * 脚本描述
     */
    @ApiModelProperty(value = "脚本描述")
    private String description;

    /**
     * 脚本类型
     */
    @ApiModelProperty(value = "脚本类型")
    @NotNull(message = "hm.pass.field_non_nullable")
    private ScriptTypeEnum type;


    /**
     * 脚本内容
     */
    @ApiModelProperty(value = "脚本内容")
    @NotNull(message = "hm.pass.field_non_nullable")
    @NotEmpty(message = "hm.pass.field_non_nullable")
    @NotBlank(message = "hm.pass.field_non_nullable")
    private String content;

    /**
     * 内容方式 文件OR 代码
     */
    @ApiModelProperty(value = "内容方式 文件OR 代码")
    @NotNull(message = "hm.pass.field_non_nullable")
    private ScriptContentTypeEnum contentType;


}
